#pragma once

#include <vector>

class ICondition
{
public:
	virtual			~ICondition			(void) {}

	virtual void	AddSimpleCondition	(const ICondition* ) = 0;
	virtual void	AddSubCondition		(const ICondition* ) = 0;
	virtual bool	GetBoolean			(void) const = 0;
	virtual bool	ContainsNode		(char nodeId) const = 0;
};

typedef std::vector<ICondition*>		ConditionsVector;
typedef std::vector<const ICondition*>	ConditionsVectorConst;
